'use strict'
let products=[
    {
        id:1,
        productName:'小米6x 256GB',
        price:5200,
        stockNum:500,
        supplier:'雷军'
    },
    {
        id:2,
        productName:'小米6x 256GB',
        price:5200,
        stockNum:500,
        supplier:'雷军'
    },
    {
        id:3,
        productName:'小米6x 256GB',
        price:5200,
        stockNum:500,
        supplier:'雷军'
    },
    {
        id:4,
        productName:'小米6x 256GB',
        price:5200,
        stockNum:500,
        supplier:'雷军'
    },
    {
        id:5,
        productName:'小米6x 256GB',
        price:5200,
        stockNum:500,
        supplier:'雷军'
    },
]

let fn_list=async(ctx,next)=>{
    let keyword=ctx.request.query.keyword||''   //返回拿到关键字的数据或者空
    console.log(keyword.length);
    if(keyword){
        let arr=products.filter(item=>{
            return item.id==keyword||item.productName==keyword||item.price==keyword||item.stockNum==keyword||item.supplier==keyword
        })
            console.log(1111);
            ctx.body={
                code:1000,
                data:arr,
                msg:'请求成功'
            }
        }else{
            console.log(2222);
            ctx.body={
                code:400,
                data:products,
                msg:'请求成功'
            }
        }
    }


let fn_getbyid=(ctx,next)=>{
    let id=ctx.request.params.id    //获取编辑时点击的id值
    let filterList=products.filter(item=>{
        return item.id==id   
    })
    if(filterList.length>0){
        ctx.body={
            code:1000,
            data:filterList[0],
            msg:'获取指定商品成功'   //点击编辑时控制台输出
        }
    }else{
        ctx.body={
            code:400,
            data:'',
            msg:'你查找的商品不存在'
        }
    }
}



let fn_post=(ctx,next)=>{       //添加
    let obj=ctx.request.body     //拿到所添加的内容
    console.log(obj);
    obj.id=products[products.length-1].id+1     //指定添加后商品的id值
    console.log(obj);          //最后的添加结果内容
    products.push(obj)         //更新商品内容
    ctx.body=obj          
}


let fn_put=(ctx,next)=>{
    let id=ctx.request.params.id
    let obj=ctx.request.body
    let filterList=products.filter(item=>{
        return item.id==id
    })
    if(filterList.length>0){
        let tmpObj=filterList[0]
        tmpObj.productName=obj.productName
        tmpObj.price=obj.productName
        tmpObj.stockNum=obj.stockNum
        tmpObj.supplier=obj.supplier
        ctx.body={
            code:1000,
            data:tmpObj,
            msg:'修改成功'
        }
    }else{
        ctx.body={
            code:400,
            data:'',
            msg:'你所需要的商品不存在'
        }
    }
}


let fn_delete=(ctx,next)=>{
    let id=ctx.request.params.id
    console.log(id);
    let arr=products.filter(item=>{
        return item.id != id
    })
    if(arr.length<products.length){
        products=arr
        ctx.body={
            code:1000,
            data:{id},
            msg:'删除成功'
        }
    }else{
        ctx.body={
            code:400,
            data:null,
            msg:'要删除的元素或记录不存在'
        }
    }
}

module.exports={
    'get /product':fn_list,     //查找
    'get /product/:id':fn_getbyid,    //点击编辑时获取原来的数据
    'post /product':fn_post,        //添加
    'put /product/:id':fn_put,     //实现编辑
    'delete /product/:id':fn_delete
}